@use "sass:meta";
@use "sass:list";

@function remove($list, $value, $recursive:false) {
  $result: ();
  @for $i from 1 through length($list) {
    @if type-of(nth($list, $i)) == list and $recursive {
      $result: append($result, remove(nth($list, $i), $value, $recursive), $separator: comma);
    } @else if nth($list, $i) != $value {
      $result: append($result, nth($list, $i), $separator: comma);
    }
  }
  @return $result;
}

@function font-append($base, $ext, $separator:comma) {
  $base-pre: ();
  $base-pos: ();
  $iFontSep: index($base, $separator);
  @if not $iFontSep {// didn't find the font separator, return
    @debug "⚠ Failed to find '#{$separator}' in the list of '#{$base}'";
    @return $base;
  }
  @for $i from 1 through list.length($base) {
    $iEl: list.nth($base, $i);
    @if $i <= $iFontSep {
      $base-pre: list.append($base-pre, $iEl, $separator:comma);
    } @else {
      $base-pos: list.append($base-pos, $iEl, $separator:comma);
    }
  }
  @return list.join(list.join($base-pre, $ext), $base-pos);
}

@function font-prepend($base, $ext) {
  $ext-type: meta.type-of($ext);
  @if not ($ext-type == 'string') and not ($ext-type == 'list') {
    //@debug "⚠ Expected a string or a list, but got '#{$ext-type}' in '#{$ext}'";
    @return $base;
  } @else {
    @return list.join($ext, $base);
  }
}

@function font-var($base, $ext, $findFont:null) {
  $typeFont: meta.type-of($base);

  @if ($typeFont == 'string') or ($typeFont == 'list') {
    @if ($findFont == null) {// prepend
      $font: font-prepend($base, $ext);
      @return $font;
    } @else {                // append
      $iFoundFont-Main: index($base, $findFont);
      @if $iFoundFont-Main {
        $font: font-append($base, $ext, $findFont);
        @return $font;
      } @else {
        @debug "⚠ Failed to find font '#{$findFont}' in the list of '#{$base}'";
      }
    }
  }
}

/**
 * SVG Icons
 * https://github.com/feathericons/feather
 * https://github.com/tabler/tabler-icons/find/master
 * https://github.com/twbs/icons
 *
 * https://yqnn.github.io/svg-path-editor/
 * https://jakearchibald.github.io/svgomg/
 * https://codepen.io/yoksel/pen/MWKeKK
 */
@function getColor ($ic, $list, $index) {
  @if length($list) >= $index {
    @if not $ic and nth($list, $index) != "none" {
      @return '%23888';//default color
    }
    @return nth($list, $index);
  };
  @return '%23888';//default color
}

@function icon($name,$ic,$stroke-width:0,$stroke:'none',$fill:'none') {
  $icons: (
    //template-fill: "%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d=''/%3E%3C/svg%3E",
    //template-stroke: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d=''/%3E%3C/svg%3E",
    bitbucket: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M14.2 15.3H9.8L8.7 8.7h6.6ZM2.8 3.2A.7.7 0 0 0 2 4l3.4 16c.1.4.6.8 1 .8h11a.7.7 0 0 0 .6-.6l4-16.1a.7.7 0 0 0-.7-.9Z'/%3E%3C/svg%3E",
    buymeacoffee: "%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='#{getColor($ic,$fill,1)}' d='m7.9 11.7.8 8.3c.2 2 .8 2 3.6 2 2.3 0 2.8-.1 3-2l.8-9.3c-3.3-1-4 2-8.2 1z'/%3E%3Cpath fill='#{getColor($ic,$fill,2)}' d='M18.8 4.3c-.6-.1-.6-1-.7-1.9-.2-1.6-1.2-2-4-2.2-3-.4-8.6-.2-8.5 1.6 0 1.7 4.8 2.2 9.7 1.6.8-.1.6-1.5-.2-1.4-3.6.5-7.4 0-7.4-.2 0-.3 3.3-.5 5-.4 4.5.3 3.7.3 4.2 2.2.2 1 0 .9-.7 1-3 .3-6 .2-9-.2C4.7 4 4.3 4.4 4 6c-.8 2.7 1 2.8 2.1 3 4.8.7 7.7.3 10.3.2.8-.1.6.5.6 1.2l-1.3 10.8c-.1 1.4-1.4 1.4-4 1.5-2.7.2-3.3-.5-3.5-1.6L7.1 10c-.1-1-1.5-.6-1.4.3l1.1 10.8C7.1 24 9.4 24 12.2 24c2.6 0 4.6-.3 5-3.2l1-11.3c.2-.9.3-.7 1-.9 1.8-.8 1-4.2-.4-4.3zm-.3 3a38 38 0 0 1-12.6.2c-1.4-.2-.9-2 0-1.9 4.5.7 8.7.7 12 0 1.4-.2 1.1 1.7.6 1.8z' /%3E%3C/svg%3E",
    check: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E",
    chevron: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E",
    clock: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E",
    codeberg: "%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='#{getColor($ic,$fill,1)}' d='M12 1A11 11 0 0 0 1 12a11 11 0 0 0 1.7 6.4L12 6l9.3 12.4A11 11 0 0 0 23 12 11 11 0 0 0 12 1Z'/%3E%3Cpath fill='#{getColor($ic,$fill,2)}' d='M21.3 18.4 12 6l4.4 16.8a11 11 0 0 0 4.9-4.4Z' /%3E%3C/svg%3E",
    date: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4m-5 4h18'/%3E%3C/svg%3E",
    discord: "%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M19.7 5.6a18.2 18.2 90 0 0-4.6-1.4 12.5 12.5 90 0 0-.6 1.2 17 17 90 0 0-5 0 12.5 12.5 90 0 0-.6-1.2 18.4 18.4 90 0 0-4.6 1.4A20 20 0 0 0 1 18a18.4 18.4 90 0 0 5.7 2.9 13.5 13.5 90 0 0 1.2-2A11.8 11.8 90 0 1 6 18l.5-.3a13.2 13.2 90 0 0 11 0l.5.3a12 12 90 0 1-1.9.9 13.3 13.3 90 0 0 1.2 2A18.2 18.2 90 0 0 23 18c.3-4.7-.9-8.8-3.3-12.4Zm-11.4 10c-1 0-1.9-1-1.9-2.2s.8-2.2 1.9-2.2 2 1 2 2.2-1 2.2-2 2.2Zm7.4 0c-1.1 0-2-1-2-2.2s.9-2.2 2-2.2 1.9 1 1.9 2.2-.9 2.2-1.9 2.2Z'/%3E%3C/svg%3E",
    docker: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M4 19.8S7 20 8 18m-4-7h3v3H4Zm3 0h3v3H7Zm3 0h3v3h-3ZM7 8h3v3H7Zm3 0h3v3h-3Zm0-3h3v3h-3Zm10 8c-1 0-1 0-1.4-1.9C18.5 10 17 10 17 12c0 1 0 2-3 2H1a9 9 0 0 0 3 6c3 2 5 2 9 1a10.8 10.8 90 0 0 5-4c1-2 1-1 3-2s1-2 0-2Z'/%3E%3C/svg%3E%0A",
    element: "%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5 0 0 6 0 12s6 12 12 12 12-6 12-12A12 12 0 0 0 12 0Zm-1 4c4 0 6 3 6 6 0 2-2 2-2 0s-2-4-4-4-2-2 0-2Zm-7 9c0-4 3-6 6-6 2 0 2 2 0 2s-4 2-4 4-2 2-2 0Zm9 7c-4 0-6-3-6-6 0-2 2-2 2 0s2.4 4 4 4c2 0 2 2 0 2Zm1-3c-2 0-2-2 0-2s4-2 4-4 2-2 2 0c0 4-3 6-6 6Z'/%3E%3C/svg%3E",
    facebook: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E",
    folder: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/%3E%3C/svg%3E",
    github: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M9 19c-5 1.5-5-2.5-7-3m14 6v-3.9a3.4 3.4 0 0 0-1-2.6c3.2-.3 6.5-1.5 6.5-7A5.4 5.4 0 0 0 20 4.8 5 5 0 0 0 20 1s-1.3-.3-4 1.5a13.4 13.4 0 0 0-7 0C6.3.6 5 1 5 1a5 5 0 0 0 0 3.8 5.4 5.4 0 0 0-1.5 3.7c0 5.5 3.3 6.7 6.4 7a3.4 3.4 0 0 0-.9 2.6V22'/%3E%3C/svg%3E",
    github-sponsor: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M20 4c-5-3-8 2-8 4 0-2-3-7-8-4-4 2-6 10 8 18 14-8 12-16 8-18z'/%3E%3C/svg%3E",
    gitlab: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M22.6 14.4 12 22 1.3 14.4a.8.8 0 0 1-.3-1l1.3-3.7 2.4-7.5a.4.4 0 0 1 .1-.2.4.4 0 0 1 .6 0 .4.4 0 0 1 .1.2L8 9.7h8l2.5-7.5a.4.4 0 0 1 .1-.2.4.4 0 0 1 .6 0 .4.4 0 0 1 0 .2l2.5 7.5 1.3 3.8a.8.8 0 0 1-.3.9z'/%3E%3C/svg%3E",
    globe: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E",
    home: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M9 22V12h6v10M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z'/%3E%3C/svg%3E",
    instagram: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Cpath d='M16 11.4A4 4 0 1 1 12.6 8a4 4 0 0 1 3.4 3.4zm1.5-4.9h.01'/%3E%3C/svg%3E",
    linkedin: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6zM2 9h4v12H2z'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E",
    kofi: "%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' d='M3 5.5h14c7 0 7 10-.5 10q0 3-2.5 3H4q-2 0-2-1.5V6.5q0-1 1-1M16.5 9v3c0 1 0 1 .5 1 3.5 0 3.5-5 0-5-.5 0-.5 0-.5 1'/%3E%3Cpath fill='#{getColor($ic,$fill,2)}' d='M9.2 15.8c-7.7-5.3-2.8-9 0-6.2 2.8-2.8 7.7.9 0 6.2' /%3E%3C/svg%3E",
    mail: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='m22 6-10 7L2 6m2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Z'/%3E%3C/svg%3E",
    mastodon: "%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M2 8c0 5.7-.2 12.6 5 14 2 .6 3.7.7 5 .6 2.4-.1 3.8-.9 3.8-.9l-.1-1.8s-1.7.6-3.7.5c-1.9 0-4-.2-4.2-2.6a5 5 90 0 1 0-.7c4 1 7.5.5 8.4.4 2.7-.4 5-2 5.3-3.6.5-2.4.4-5.8.4-5.8C22 3.4 19 2 19 2 15.9.6 8 .6 5.1 2c0 0-3 1.4-3 6zm4.5-2.3c1.2-1.4 3.8-1.5 5 .3l.5.9.6-1c1.1-1.7 3.7-1.6 4.9-.2 1.1 1.3.9 2.5.9 8.4H16V8.6c0-2.4-3-2.5-3 .3v3h-2V9c0-2.8-3-2.7-3-.3V14H5.6c0-5.9-.2-7.1 1-8.4z'/%3E%3C/svg%3E",
    matrix: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M.6.6v22.8H3v.6H0V0h3v.6zm7 7.2V9h.1c3.2-2.3 4.3 0 4.8.3C14.9 6.7 18 8 18 11v5h-1.5v-5a1 1 0 0 0-3.5 0v5h-1.7v-5a1 1 0 0 0-3.7 0v5H6V7.8zm15.8 15.7V.4H21V0h3v24h-3v-.6z'/%3E%3C/svg%3E",
    minus: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E",
    moon: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z'/%3E%3C/svg%3E",
    peertube: "%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' d='M3 12V0l9 6-9 6Z'/%3E%3Cpath stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,2)}' d='M3 24V12l9 6-9 6Z'/%3E%3Cpath stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,3)}' d='M12 18V6l9 6-9 6Z' /%3E%3C/svg%3E",
    pinterest: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='m8 20 4-9m-1.3 3c.4 1.3 1.4 2 2.5 2 2.1 0 3.8-1.6 3.8-4a5 5 0 1 0-9.7 1.7'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E",
    pixelfed: "%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='M0 .11h50v49.78H0z'/%3E%3ClinearGradient x1='100%25' y1='55.81%25' x2='0%25' y2='60.12%25' id='c'%3E%3Cstop stop-color='%23FF5C34' offset='0%25'/%3E%3Cstop stop-color='%23EB0256' offset='100%25'/%3E%3C/linearGradient%3E%3ClinearGradient x1='33.09%25' y1='100%25' x2='68.99%25' y2='15.31%25' id='d'%3E%3Cstop stop-color='%23A63FDB' offset='0%25'/%3E%3Cstop stop-color='%23FF257E' offset='100%25'/%3E%3C/linearGradient%3E%3ClinearGradient x1='14.72%25' y1='50%25' x2='94.32%25' y2='67.53%25' id='e'%3E%3Cstop stop-color='%2300FFF0' offset='0%25'/%3E%3Cstop stop-color='%230087FF' offset='100%25'/%3E%3C/linearGradient%3E%3ClinearGradient x1='81.23%25' y1='10.01%25' x2='20.82%25' y2='74.49%25' id='f'%3E%3Cstop stop-color='%2317C934' offset='0%25'/%3E%3Cstop stop-color='%2303FF6E' offset='100%25'/%3E%3C/linearGradient%3E%3ClinearGradient x1='50%25' y1='111.91%25' x2='30.56%25' y2='0%25' id='g'%3E%3Cstop stop-color='%23FFB000' offset='0%25'/%3E%3Cstop stop-color='%23FF7725' offset='100%25'/%3E%3C/linearGradient%3E%3Cpath d='M25.88 24.66A12.43 12.43 0 0 0 12.76 13 12.39 12.39 0 0 0 .94 25.95l.01.2A24.67 24.67 0 0 1 16 2l.53-.2c6.39-2.56 13.67.5 16.25 6.81s-.5 13.5-6.9 16.05z' id='h'/%3E%3Cpath d='M16.34 1.87l.19-.07c6.39-2.56 13.67.5 16.25 6.81s-.5 13.5-6.9 16.05c-.05-1-.23-1.98-.5-2.9a10.9 10.9 0 0 0 5.75-9.6A11 11 0 0 0 20.06 1.25c-1.3 0-2.56.22-3.72.63z' id='i'/%3E%3ClinearGradient x1='-81.36%25' y1='59.62%25' x2='121.42%25' y2='72.06%25' id='j'%3E%3Cstop stop-color='%239EE85D' offset='0%25'/%3E%3Cstop stop-color='%230ED061' offset='100%25'/%3E%3C/linearGradient%3E%3Cpath d='M28.38 9.27l.19-.07c6.39-2.56 13.67.5 16.25 6.81s-.5 13.5-6.9 16.05c-.05-1-.23-1.98-.5-2.9a10.9 10.9 0 0 0 5.75-9.6A11 11 0 0 0 32.1 8.65c-1.3 0-2.56.22-3.72.63z' id='k'/%3E%3ClinearGradient x1='45.51%25' y1='116.82%25' x2='0%25' y2='-4.04%25' id='l'%3E%3Cstop stop-color='%2321EFE3' offset='0%25'/%3E%3Cstop stop-color='%232598FF' offset='100%25'/%3E%3C/linearGradient%3E%3Cpath d='M25.14 22.73l.18-.07c6.4-2.55 13.67.5 16.25 6.81 2.59 6.32-.5 13.5-6.9 16.06a11.97 11.97 0 0 0-.5-2.9 10.9 10.9 0 0 0 5.75-9.6A11 11 0 0 0 28.86 22.1c-1.3 0-2.56.22-3.72.63z' id='m'/%3E%3ClinearGradient x1='100%25' y1='58.21%25' x2='-89.65%25' y2='74.32%25' id='n'%3E%3Cstop stop-color='%23A63FDB' offset='0%25'/%3E%3Cstop stop-color='%23FF257E' offset='100%25'/%3E%3C/linearGradient%3E%3Cpath d='M10.65 23.76l.2-.07c6.38-2.55 13.66.5 16.24 6.81 2.59 6.32-.5 13.5-6.9 16.06-.05-1-.22-1.98-.5-2.9a10.9 10.9 0 0 0 5.75-9.6 11 11 0 0 0-11.06-10.93c-1.31 0-2.56.22-3.73.63z' id='o'/%3E%3Cpath d='M5.55 10.7l.18-.08c6.4-2.55 13.67.5 16.26 6.82a12.28 12.28 0 0 1-6.9 16.05c-.06-1-.23-1.98-.51-2.9a10.9 10.9 0 0 0 5.75-9.6A11 11 0 0 0 9.27 10.06c-1.3 0-2.56.23-3.72.64z' id='p'/%3E%3Cpath d='M35.63 42.37h4.55a7.64 7.64 0 0 0 7.75-7.51 7.64 7.64 0 0 0-7.75-7.51h-6.56a4.4 4.4 0 0 0-4.48 4.33v16.87l6.5-6.18z' id='r'/%3E%3Cfilter x='-26.6%25' y='-18.9%25' width='153.2%25' height='147.2%25' filterUnits='objectBoundingBox' id='q'%3E%3CfeOffset dy='1' in='SourceAlpha' result='shadowOffsetOuter1'/%3E%3CfeGaussianBlur stdDeviation='1.5' in='shadowOffsetOuter1' result='shadowBlurOuter1'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.298686594 0' in='shadowBlurOuter1'/%3E%3C/filter%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cg mask='url(%23b)'%3E%3Cpath d='M25.88 24.66a12.5 12.5 0 0 0-15.13 8.99 12.32 12.32 0 0 0 9.09 14.94l.5.13A24.77 24.77 0 0 1 .96 26.15v-.2A12.39 12.39 0 0 1 12.74 13a12.43 12.43 0 0 1 13.13 11.67z' fill='url(%23c)' transform='rotate(40 25.03 23.6)'/%3E%3Cpath d='M25.88 24.66a12.25 12.25 0 0 0 4.27 16.93 12.57 12.57 0 0 0 17.13-4.22l.24-.39a25.02 25.02 0 0 1-21.64 12.35c-1.9 0-3.75-.21-5.53-.61l-.51-.13a12.32 12.32 0 0 1-9.1-14.94 12.5 12.5 0 0 1 15.14-8.99z' fill='url(%23d)' transform='rotate(40 25.03 23.6)'/%3E%3Cpath d='M25.88 24.66a12.6 12.6 0 0 0 17.59 1.52A12.23 12.23 0 0 0 45 8.81l-.1-.12a24.39 24.39 0 0 1 2.6 28.29l-.23.39a12.57 12.57 0 0 1-17.13 4.22 12.25 12.25 0 0 1-4.27-16.93z' fill='url(%23e)' transform='rotate(40 25.03 23.6)'/%3E%3Cpath d='M25.88 24.66a12.28 12.28 0 0 0 6.9-16.05A12.54 12.54 0 0 0 16.53 1.8L16 2c3.03-1.29 6.37-2 9.88-2 7.62 0 14.45 3.37 19.03 8.7l.1.11c4.43 5.22 3.74 13-1.54 17.37a12.6 12.6 0 0 1-17.59-1.52z' fill='url(%23f)' transform='rotate(40 25.03 23.6)'/%3E%3Cg fill='url(%23g)' transform='rotate(40 25.03 23.6)'%3E%3Cuse xlink:href='%23h'/%3E%3Cuse fill-opacity='.1' style='mix-blend-mode:multiply' xlink:href='%23h'/%3E%3C/g%3E%3Cg opacity='.5' transform='rotate(40 25.03 23.6)'%3E%3Cuse fill='url(%23g)' xlink:href='%23i'/%3E%3Cuse fill-opacity='.5' fill='%23000' style='mix-blend-mode:overlay' xlink:href='%23i'/%3E%3C/g%3E%3Cg opacity='.54' transform='rotate(112 33.87 24.23)'%3E%3Cuse fill='url(%23j)' xlink:href='%23k'/%3E%3Cuse fill-opacity='.5' fill='%23000' style='mix-blend-mode:overlay' xlink:href='%23k'/%3E%3C/g%3E%3Cg opacity='.56' transform='rotate(-177 29.6 35.4)'%3E%3Cuse fill='url(%23l)' xlink:href='%23m'/%3E%3Cuse fill='%23000' style='mix-blend-mode:overlay' xlink:href='%23m'/%3E%3C/g%3E%3Cg opacity='.58' transform='rotate(-103 13.95 33.85)'%3E%3Cuse fill='url(%23n)' xlink:href='%23o'/%3E%3Cuse fill-opacity='.5' fill='%23000' style='mix-blend-mode:overlay' xlink:href='%23o'/%3E%3C/g%3E%3Cg opacity='.18' transform='rotate(-31 4.44 11.5)'%3E%3Cuse fill='url(%23c)' xlink:href='%23p'/%3E%3Cuse fill-opacity='.77' fill='%23000' style='mix-blend-mode:multiply' xlink:href='%23p'/%3E%3C/g%3E%3Cg fill-rule='nonzero' transform='translate(-12.6 -12.1)'%3E%3Cuse fill='%23000' filter='url(%23q)' xlink:href='%23r'/%3E%3Cuse fill='%23FFF' xlink:href='%23r'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E",
    python: "%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='#{getColor($ic,$fill,1)}' d='M17 6c0 4-1 5-6 5-4 0-5 1-5 6-4 0-5-1-5-6 0-3 1-4.5 4-4.5h7c0-.5 0-.5-1-.5H6c0-3 0-5 6-5 5 0 5 2 5 5ZM9 3C7.5 3 7.5 5 9 5s1.5-2 0-2Z'/%3E%3Cpath fill='#{getColor($ic,$fill,2)}' d='M23 12c0 3-1 4.6-4 4.5h-7v.5h6c0 4 0 6-6 6-5 0-5-2-5-6s1-5 6-5c4 0 5-1 5-6 4 0 5 1 5 6Zm-8 7c-1.5 0-1.5 2 0 2s1.5-2 0-2Z' /%3E%3C/svg%3E",
    researchgate: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M16 5c0 3.5.7 5 3 5s3.7-1.3 3.3-5h-3v1.3H21c0 1.9-.7 2.7-2 2.5-1.3 0-1.8-.7-1.8-3.2 0-2.4.4-3.3 1.5-3.4 1-.2 1.7.2 2.2 1.1L22 3c-.4-1.3-1.4-2-2.9-2C17.2 1 16 2 16 5ZM8 6.2l-6 .2v.9c1 .3 2 0 2 2.2v11C4 22 3 22 2 22.2v.8h6.6v-.8C7 22 6 22 6 20.5v-5.2h2a46 46 0 0 0 4 5.7 5 5 0 0 0 5 2v-1c-3 0-5-5-7-7 6-1 6-10-2-8.8ZM6 14V7.6C14 6 13 14 8 14Z'/%3E%3C/svg%3E",
    rss: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16'/%3E%3Ccircle cx='5' cy='19' r='1'/%3E%3C/svg%3E",
    stack: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M4 17v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1M8 16h8m-7.7-3.4 8 .8M8.8 9.2l7.8 1.6m-6.5-5 7.6 2.4'/%3E%3C/svg%3E",
    sun: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cpath d='M12 1v2m0 18v2M4.2 4.2l1.4 1.4m12.8 12.8 1.4 1.4M1 12h2m18 0h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4'/%3E%3C/svg%3E",
    tag: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='m20.6 13.4-7.2 7.2a2 2 0 0 1-2.8 0L2 12V2h10l8.6 8.6a2 2 0 0 1 0 2.8zM7 7h.01'/%3E%3C/svg%3E",
    twitch: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7'/%3E%3C/svg%3E",
    twitter: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M23 3a10.9 10.9 0 0 1-3.1 1.5 4.5 4.5 0 0 0-7.9 3v1A10.7 10.7 0 0 1 3 4s-4 9 5 13a11.6 11.6 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0 0-.8A7.7 7.7 0 0 0 23 3z'/%3E%3C/svg%3E",
    x: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M21 3 3 21M3 3l18 18'/%3E%3C/svg%3E",
    youtube: "%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='#{getColor($ic,$fill,1)}' d='M22.5 6.7a2.8 2.8 90 0 0-2-1.9c-1.6-.5-8.5-.5-8.5-.5s-6.9 0-8.7.5a2.8 2.8 90 0 0-1.8 1.9 28.6 28.6 90 0 0 0 10.7 2.8 2.8 90 0 0 1.9 1.9c1.8.4 8.6.4 8.6.4s6.9 0 8.5-.4a2.8 2.8 90 0 0 2-1.9c.5-1.8.5-5.3.5-5.3s0-3.6-.5-5.4Z M9.8 8.8l5.6 3.2-5.6 3.2Z' /%3E%3C/svg%3E",
    adjust: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C6 0 0 6 0 12s5 12 12 12 12-5 12-12S19 0 12 0Zm0 4c5 0 8 3 8 8s-3 8-8 8V4Z'/%3E%3C/svg%3E",
    angl: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='m16 4-8 8 8 8'/%3E%3C/svg%3E",
    angll: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='m11 4-8 8 8 8m9-16-8 8 8 8'/%3E%3C/svg%3E",
    angr: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='m8 4 8 8-8 8'/%3E%3C/svg%3E",
    angrr: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='m4 4 8 8-8 8m9-16 8 8-8 8'/%3E%3C/svg%3E",
    angu: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='m4 16 8-8 8 8'/%3E%3C/svg%3E",
    world: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M1 12a11 11 90 0 0 22 0 11 11 90 0 0-22 0m1-4h20M2 16h20M11 1a21 21 90 0 0 0 22m2-22a21 21 90 0 1 0 22'/%3E%3C/svg%3E",
    copy: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M11 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM7 9H3a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-4'/%3E%3C/svg%3E",
    copy-yes: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E",
    copy-err: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M1 12a1 1 0 0 0 22 0 1 1 0 0 0-22 0m11-7v9m0 5v-2'/%3E%3C/svg%3E",
    search: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{getColor($ic,$stroke,1)}' stroke-width='#{$stroke-width}' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Ccircle cx='9.5' cy='9.5' r='8'/%3E%3Cpath d='m23 23-9-9'/%3E%3C/svg%3E",
    telegram: "<svg xmlns='http://www.w3.org/2000/svg' fill='#{getColor($ic,$fill,1)}' viewBox='0 0 24 24'%3E%3Cpath d='M24 12a12 12 0 0 0-24 0 12 12 0 0 0 24 0M5.2 12l7.9-3.4 3.2-1.3c.3-.1 1.3-.4 1.3.7l-.6 4-.9 5.2s-.1.7-.6.8c-.7.2-1.3-.4-1.5-.5l-3.5-2.4c-.3-.2-.5-.6 0-1.1l3.4-3.3c.5-.4.9-1.4-.7-.2l-4.5 3s-.6.4-1.8.1l-2.2-.7c-.2-.1-.4-.5.5-.9Z'/%3E%3C/svg%3E"
  );
  $icon: map-get($icons, $name);
  @return url("data:image/svg+xml,#{$icon}");
}
